/**
 * 
 */
package co.fitstart.admin.service;

import java.util.List;

import co.fitstart.admin.entity.content.ArticleModuleSearch;
import co.fitstart.admin.entity.content.ArticleSearch;
import co.fitstart.entity.content.Article;
import co.fitstart.entity.content.ArticleModule;
import co.fitstart.entity.content.Module;

import com.demo2do.core.support.Page;

/**
 * @author downpour
 *
 */
public interface ArticleService extends DataService<Article> {
    
    /**
     * 
     * @param moduleId
     * @param page
     * @return
     */
    public List<ArticleModule> list(Long moduleId, Page page);

    /**
     * 
     * @param articleModuleSearch
     * @param page
     * @return
     */
    public List<ArticleModule> search(ArticleModuleSearch articleModuleSearch, Page page);
    
    /**
     * 
     * @param articleSearch
     * @param page
     * @return
     */
    public List<Article> search(ArticleSearch articleSearch, Page page);
    
    /**
     * 
     * @param article
     */
    public void disable(Article article);
    
    /**
     * 
     * @param article
     * @param module
     */
    public void stick(Article article, Module module);
    
    /**
     * 
     * @param article
     * @param module
     */
    public void unstick(Article article, Module module);
    
    /**
     * 
     * @param article
     * @param moduleIds
     */
    public void createArticle(Article article, List<Long> moduleIds);
    
    /**
     * 
     * @param article
     * @param moduleIds
     */
    public void editArticle(Article article, List<Long> moduleIds);
    
}
